Release 10.1A: OpenEdge Development:
AppBuilder
What is a layout?
A layout can be thought of as a collection of objects and associated property settings. These property settings determine how the objects appear when you run the application. Each layout has a name and an associated run-time expression. Run-time expressions evaluate to
TRUEorFALSE, and determine which layout is presented during a specific session. Typically the same set of run-time expressions will appear for all procedure files in an application. For SmartObjects, layouts are typically associated with values of theObjectLayoutinstance property.When you run a procedure file, it evaluates the run-time expressions (if any) for the available layouts and, if a layout’s expression evaluates to
TRUE, uses that layout. For a SmartObject, this run-time expression determines the setting of theDefaultLayoutproperty. If the SmartObject has noObjectLayoutproperty setting, it uses theDefaultLayoutproperty setting to determine the layout. When the procedure file determines that it will use a particular layout, the procedure file executes for that layout aCASEstatement that contains all of the property settings assigned for the layout.The AppBuilder generates a
CASEstatement that contains an entry for each layout in the procedure file. TheCASEstatement is contained within the internal procedure named{&LAYOUT-VARIABLE}variables. This procedure name resolves to the name of the procedure file’s window, with “-Layouts” appended. For example, if the window name isWINDOW-1, the name of this procedure isWINDOW-1-Layouts. For more information about how layouts are implemented within a procedure file, see the "How multiple layouts work: a look at the code" section.At design time, a layout is visually manifested in the design window. When you switch between layouts in the design window, the AppBuilder alters the appearance of the design window to match the characteristics of the new layout.
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |